Vending Machine Route Management

ABSTRACT

An embodiment includes a method executed by at least one processor comprising: determining inventories for first and second times for a first vending machine (VM); determining inventories for first and second times for a second VM; determining inventories for first and second times for a third VM; and determining a service route to visit the first and second VMs on a specific date, and to specifically avoid visiting the third VM on the specific date, in response to determining the inventories for the second times for the first, second, and third VMs. Other embodiments are described herein.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to U.S. Provisional Patent ApplicationNo. 62/088,886 filed on Dec. 8, 2014 and entitled “Vending Machine RouteManagement Through Real-time Telemetry Combined with SmartPhoneApplication”, the content of which is hereby incorporated by reference.

TECHNICAL FIELD

Embodiments of the invention are in the field of vending machines.

BACKGROUND

The traditional organization of vending machines within a large vendingand/or remote point of sale network utilizes the concept of a “route” ofmachines. Each route is a grouping of machines by geographic proximity,customer and/or client association, or other grouping method. Theseroutes are then managed on a day-to-day basis by one or more routedrivers who have the responsibility for maintaining the stock inventorywithin these machines as well as to collect the cash sales receipts fromeach. The fact that these machines typically contain several days' worthof inventory drives several aspects of traditional route creation andmanagement strategy. Simply put, the number of machines per location andinventory on hand must be defined such that each machine within theroute does not need service each day. Instead, the route is made up of alarge number of machines, many more than can be visited in a single day,and the route manager selects the machines to visit each day. This alsoimplies that that the route manager makes a decision as to the machinesthat are “safe” to skip for that day and may be visited in the futurewithout sold-out or other revenue affecting issues. This skip vs. visitratio can be as high as 12 or 15 to 1.

BRIEF DESCRIPTION OF THE DRAWINGS

Features and advantages of embodiments of the present invention willbecome apparent from the appended claims, the following detaileddescription of one or more example embodiments, and the correspondingfigures. Where considered appropriate, reference labels have beenrepeated among the figures to indicate corresponding or analogouselements.

FIGS. 1-23 include user interfaces for use in an embodiment.

FIG. 24 includes a system embodiment of real-time telemetry devices, acentral, cloud-based compute facility with a user interface, and aseries of wireless smart-phone devices running a set of applications.

FIG. 25 includes a process in an embodiment.

FIG. 26 includes a process in an embodiment.

FIG. 27 includes a process in an embodiment.

FIG. 28 includes a process in an embodiment.

FIG. 29 includes a system for use in an embodiment.

FIG. 30 includes a system for use in an embodiment.

DETAILED DESCRIPTION

In the following description, numerous specific details are set forthbut embodiments of the invention may be practiced without these specificdetails. Well-known circuits, structures and techniques have not beenshown in detail to avoid obscuring an understanding of this description.“An embodiment”, “various embodiments” and the like indicateembodiment(s) so described may include particular features, structures,or characteristics, but not every embodiment necessarily includes theparticular features, structures, or characteristics. Some embodimentsmay have some, all, or none of the features described for otherembodiments. “First”, “second”, “third” and the like describe a commonobject and indicate different instances of like objects are beingreferred to. Such adjectives do not imply objects so described must bein a given sequence, either temporally, spatially, in ranking, or in anyother manner.

Applicant has analyzed the above background information and determinedseveral problems exist with conventional machine service protocols.

Applicant has determined the selection of machines to visit vs. whichmachines are safe to skip each day is critical to the profitability andsuccess of the vending operation. This criticality is based on at leastthe following three issues. First, each visit to a machine has arelatively fixed cost which includes wages for the driver,transportation expenses, depreciation of corporate assets, and others.Second, each machine or close grouping of machines (located next to eachother) has a relatively fixed maximum production potential. This isgenerally the calculation of product inventory on hand divided by therate-of-consumption (RoC) for each product. This calculation providesthe maximum amount of time selling in the market without losing anysales due to a sold-out condition that each machine or grouping cansustain. Third, route drivers must load new inventory to be stocked atthe beginning of each day (or, more generally, product delivery cyclewhich may be begin at any time) prior to beginning the route. Adesirable truck loading strategy is one where the truck contains onlythe stock that is needed to fully stock all machines for that day basedupon the actual contents remaining in each machine at the actual time ofthe visit.

Applicant determined profitable vending operations must balance thesethree parameters such that the route manager visits only the maximallyprofitable machines so the sales receipts collected are maximized vs.the fixed expense of the visits. This system must be maintained byprecisely accurate stocking of the truck at the start of the day andalong the route such that each visited machine is stocked to its maximumproduction capacity. The route truck should leave the warehousecontaining no more or no less stock than is needed to perform this exactrestock strategy (although a small “safety” excess of inventory may becarried on the truck).

Applicant determined how, previous to the embodiments described herein,vending managers rely on non-integrated tools as well as personalexperience and intuition to provide the daily route and stockinformation for a fleet of route drivers. In addition, there is usuallysignificant variation in the opinions and practices of individuals suchthat each driver may have his or her own habits and opinions of bestpractices with no tools to guide or marshal the fleet into a commonworkflow and optimal behavior. Applicant determined this conventionalsystem is lacking in several key aspects and cannot provide thereal-time analysis that maximizes profits, maximizes customersatisfaction, and provides measurable and repeatable results.

Applicant determined an additional problem exists in the conventionalsystem regarding what is called space-to-sales (StS). Each vendingmachine has a limited number of user selection buttons as well as alimited amount of inventory on hand that may be assigned to eachselection. This assignment is known as that machine's StS ratio. It isintuitive to assign more inventory in a machine to a highly popularproduct. However, current practices utilize very subjective data whichis often based solely upon personal opinion instead of measuredinformation. This leads to reduced maximum sales production for themachines involved. However, as described herein, embodiments allocatethe actual StS based on telemetry data, RoC predictions, as well othercalculated factors.

An embodiment includes a system of integrated telemetry, applications,and workflows that manages aspects of the problems described above andprovides maximum/increased benefit to management, drivers, and vendingclients. An embodiment removes/lessens the subjectivity concerning spaceto sales assignment as well as provides a managed workflow to align theroute management personnel to the corporate practices of marketing andbrand management. In other words, embodiments described herein ensurethe correct machines are visited, those machines are properly stockedwhen visited, the warehouse/truck inventory exchanges are efficient(i.e., loading of truck and unloading of the truck), and the work flowfor each driver/work order is repeatable and systematic—all of whichpromote profitability.

FIG. 24 includes an embodiment comprising a system of real-timetelemetry devices, a central, cloud-based compute facility with a userinterface, and a series of wireless smart-phone devices running a set ofapplications. Such an embodiment includes a system 107 with thefollowing seven subsystems.

First, a central, cloud-based application platform 100 that contains thefollowing subsystems: (a) central database serving as the system ofrecord for services, (b) wide area network (WAN) telemetry gathering andprocessing services, (c) WAN smartphone/mobile application “back end”services, (d) browser based console and reporting interfaces, and (e)application program interface (API) and import/export services. See,e.g., FIG. 30 for an example of computing node 100.

Second, an embodiment includes a vending telemetry device 101 thatcontains: (a) a conventional multi-drop bus (MDB) based controllercard/interface providing telemetry and cashless services, (b) a dataexchange (DEX) file (a form of digital vending record) or othertransaction recording services, (c) a WAN wireless interface for dialogwith the cloud platform 100 and/or mobile node 102, and (d) proximitywireless capability (e.g., Bluetooth® Low Energy) for dialog with amobile phone application 102. Such a telemetry device is discussed at,for example, PCT Patent Application Publication No. WO/2015/148409(assigned to VENDWATCH TELEMATICS, LLC), and/or U.S. Patent ApplicationPublication No. US2015/0100152 (assigned to VENDWATCH TELEMATICS, LLC),and/or U.S. Pat. No. 9,111,405 (assigned to VENDWATCH TELEMATICS, LLC)(see, e.g., vending interface unit (VIU) and vending machine controllercard (VMCC)).

Third, a mobile computing node (e.g., Smartphone/Smart Pad) application102 that provides: (a) intuitive visual workflow for driver interaction,(b) real-time wireless dialog with cloud computing resource 100 forapplication processing, and (c) real-time wireless dialog with device101 for control and monitoring of the vending machine. See, e.g., FIG.29 for an example of a computing node 102.

Fourth, a collection 103 of individual vending machines 104 organizedinto a logical route. Fifth, a standard MDB enabled vending machine 104.Sixth, a service vehicle (aka “truck”) 105 driven to service the route.Seventh, a route driver individual 106 who manages the daily operationof a specific route.

In an embodiment, the operation of system 107 begins with the first useof the mobile application 102 (102 is used to refer to the node itself,including a physical processor, and/or the application executed by theprocessor) in the field to provision a vending machine into the onlinesystem 100 (100 is used to refer to the node itself, including aphysical processor, and/or the application executed by the processor)(i.e., on-boarding of the machine). At this point, configuration andparameterization information for that specific machine 104 is enteredinto the online system. In an embodiment, this information contains orpertains to (but is not limited to) the following. First, installationof the wireless telemetry device 101 and assignment of a uniqueidentifier of the device to a specific vending machine 104. Second,assignment of that machine to a specific route group (e.g., northwestAustin, Tex., U.S.A. route area X). Third, assign a geographic location(e.g., based on GPS, text description (see, e.g., FIG. 3 indicating amachine is in the “lobby”, and the like) of the machine so a new drivercan quickly locate the machine. Fourth, include photographs of thecurrent condition of the machine (see, e.g., photos at FIGS. 3 and 6).This allows for ready identification of the machine for a new driver andalso establishes a base condition in case of vandalism and the like.Fifth, provide any notes regarding access (e.g., driver must check withsecurity guard located in the “Vending Machine Notes” field at FIG. 6)or other useful information for daily maintenance. Sixth, establishmentof the current Plan-o-Gram (PoG) and selection inventory for the machine(see, e.g., FIG. 12). Seventh, initial sales and inventory record (e.g.,via DEX or other means) are recorded.

As used herein, POGs are representations of a vending machine's productsor services and may be considered a tool for visual merchandising. In anembodiment, a POG is a diagram or model that indicates the placement ofretail products on shelves or within spaces of the vending machine inorder to maximize sales. POGs therefore help dictate a merchandisingunit's (e.g., vending machine) layout of merchandise. A PoG may shows Xamount of product A should be above Y amount of product B. A change tothe PoG may increase the amount of product A and decrease the amount ofproduct B.

Once the machine 104 has been successfully provisioned into the onlinesystem, the telemetry device 101 begins a periodic (e.g., hourly, daily)transmittal of incremental sales information (e.g., inventory, salesreceipts) to the online processing system 100. This information enablesthe online system to begin processing a set of logical rules for patterndetection and matching such that the raw telemetry data is processingand mapped against the business logic of the vending operation.Information obtained from this processing procedure includes (but is notlimited to): (1) hourly rate of consumption prediction by product foreach machine, (2) machine sales production maximum (referred to above as“maximum production potential”) and performance against this limit, (3)sales receipts expected at any given time of a route driver visit,and/or (4) product and brand performance by machine, by route, and bynetwork. This information (some or all or similar) is made available ina variety of ways which include online consoles, export to back-officebusiness systems, and the like. In an embodiment, this dynamic processinformation (along with static provisioning information) is used todrive the daily usage of the mobile smartphone application by the routedriver.

For example, node 100 may include a predictive sales modeling engine ormodule. FIG. 27 includes a process implemented by the module. Block 2701includes obtaining real time sales data from a machine. Block 2702includes determining a RoC for each product of that machine (which maybe compared to other RoCs for other machines nearby or far away). Block2703 includes obtaining an instantaneous inventory projection. Thisentails the best estimate of what inventory that machine has in realtime, based in response to the original inventory amount and the realtime data from block 2701. In response to blocks 2701, 2702, 2703, inblock 2704 a predicted future machine inventory is determined. Inresponse to the preceding steps, in block 2705 an optimal schedule orroute is determined to service the most in-need machine first (e.g., themachine at risk for greatest loss of revenue). Note, for example,machines in scheduled slots 1-4 with “!” marks. These four machines allexceed a threshold that triggers their alert “!” status. For example,that may be based on block 2704 determining inventory will run out formachine on a particular day. However, that threshold may be based onother values such as, for example, a cash amount being exceeded. Forexample, in FIG. 1 the prediction is that the machine at 34904 Fergusonhas $122.40. A threshold may exist for that particular machine that anytime it has over $100 it should be service immediately.

Methods employed at block 2704 are varied. For example, inventorycontrol models (e.g., single period stochastic inventory models) knownto those of ordinary skill in the art may be used in some embodiments.Models may be based on, for example, economic order quantity (EOQ),reorder point (ROP), and the like known to those of ordinary skill inthe art.

These same models, as well as other models, may be used to manage StS.Other models include, for example, space elasticity modeling (spaceelasticity is the impact on the sales of a given product or productcategory of varying (typically 1%) the space allocated to it), andheuristic optimization-based methods and other models known to those ofordinary skill in the art. FIG. 28 generalizes an embodiment of thisdecision making for StS. FIG. 28 includes a StS Recommendation engine ormodule. At 2801 real time data is collected from one or more machines.At 2802 relative sales rates within a machine are determined (e.g.,product A vs. product B in a machine). At 2803 relative sales ratesbetween machines are determined (e.g., product A for machine 1 vs.product B for machine 2). Based on this analysis, a StS change may beproposed (e.g., see FIG. 2).

On any given day, a vending route driver's tasks are broken down intothe following sequential series as shown in FIG. 25. At block 200 thedriver arrives at the central warehouse with the truck to be used thatday, receives the list of machines to be visited that day (block 201),and determines the inventory that must be loaded onto the truck tosatisfy the day's restock needs (block 202). The truck may or may notcontain residual inventory from the previous driver or previous day. Thedriver then loads and takes ownership of the truck inventory and departsthe warehouse (block 203). The driver visits a machine or grouping ofmachines (block 204).

When visiting a machine, in an embodiment (See FIG. 26) the driverremoves any stale or out-of-date product from the machine (block 300),determines the amount of inventory needed to fully restock the machine(block 301), removes the required inventory from the truck, transportsit to the machine, and performs the restock (block 302), removes and/orrecords collected sales receipts in the form of actual cash currency ornoting cashless sales to date (block 303), and performs any requiredmaintenance for that machine such as cleaning or configuration ofproduct/price (block 304).

Returning to FIG. 25, at the end of the day, once the daily route iscomplete, the driver reconciles the remaining inventory on the truck andpossibly returns it to the central warehouse (block 205). The driverreconciles cash and cashless sales receipts collected during the daywith back-office accounting (block 206).

In an embodiment, some or all aspects of the daily task list describedabove (FIGS. 25 and 26) are defined and marshalled by online information(node 100) and a workflow interface provided by the mobile device 102application. All driver daily activities are described by a commonworkflow that enables common behavior that is repeatable and measurable.The following is a task-by-task description of how the system deliversthe features of this invention.

Again referring to FIG. 25, the driver arrives to work and “logs in” tothe smartphone application (block 200). All necessary notifications,alerts, and the like are presented to the driver in preparation for theday's work. Any truck maintenance or inventory management is displayedin a series of work orders to the driver such that they may be quicklyprocessed with results validated by the online application.

In block 201 the central processing system utilizes the prediction logicand the hourly sales information to automatically generate the list ofmachines to be visited that most precisely match the most profitable setof machines. As described above, profitability is determined by theprocessing of real-time machine data, inventory remaining, salesreceipts expected, and the like against the somewhat fixed cost of thedriver's visit. This process removes all subjectivity from the selectionof the day's machines. Instead, the vending operation is assured thateach driver is maximizing profits and customer satisfaction by relyingupon the processing application and corporate policies. In an embodimentthe application allows for manual override and manual sorting of thislist such that the driver can practically respond to unusualcircumstances. However, the normal operation policy is that the driverfollows the list as displayed in the smartphone application as in FIG.1.

FIG. 1 shows a driver of a mixed route (e.g., beverages and snacks) hasbeen tentatively assigned 15 machines to visit for Nov. 24, 2015. Thefirst four machines are assigned priority “!” status (which is thereason they are the first four machines listed). A priority status maybe assigned based on the forecast tool. For example, machines slotted1-4 all have an “!” to indicate they need service based on a projected“sold out” status for inventory, an threshold of cash being exceeded,and the like. In contrast to conventional logic, in an embodiment themachines are prioritized not on geography but on total profitability forthe route.

Before accepting the route, the on-line system 100 may propose a StSbased change. For example, in FIG. 2 a product change is suggested toincrease the inventory of one project and decrease the inventory ofanother product. The suggestion is either accepted or rejected, as shownin FIG. 2. This StS optimization may be made for each machine. As seenin FIG. 3, the driver may review each machine. As shown in FIG. 3, thesecond slotted machine may run out of product on the current day. Themachine may be slotted second instead of first because the forecast isthat the inventory for the second machine will last past the earlymorning and that the first machine may be serviced before the secondslotted machine is out of inventory for any particular product.

In block 202, once the daily list has been defined and accepted (seeFIG. 3 and the “I accept, go load truck” prompt), the required inventoryis calculated based upon previous information about, for example,product inventory and rate of consumption. In addition, an embodimentrefines this prediction by factoring in aspects of the future day suchas predicted time of visit, predicted RoC by product, and the like. Forexample, if there is a high RoC for product A and the visit to themachine will not be until the end of the route, the restock value forproduct A will increase relatively significantly. This results in ahighly accurate predicted restock inventory requirement (which avoids,for example, return visits to a truck to get more inventory to fullystock a machine that had less inventory than expected when the day'sactivities began).

This same processing and prediction analysis described above with regardto inventory may be done for the expected sales receipts for eachmachine (i.e., the higher the rate of consumption and the later the timeof visiting the machine, the higher the forecasted amount of receipts).See, for example, the $122.40 value for the first slotted machine inFIG. 1. Prior to starting the day, the processing logic makes a precisecalculation of the expected receipts of the day. This invention providessupport for honesty and audit policy/procedure for the back officeoperation. This is in contrast with conventional systems that provide nosuch forecasting.

Block 203 includes how using the predicted day's inventory, thesmartphone application 102 marshals the loading process onto the truckby automatically listing and keeping tally of the progress. Theapplication can be integrated with back-office inventory systems,scanners, and radio frequency identification (RFID) systems to speedthis process. Drivers interact with the application in the same wayproducing a validated load-out process that results in confirmed valueand quantity of inventory transferred during this task.

Thus, in FIG. 4 the entire “pull list” for the driver's entire route isshown. FIG. 4 shows the first two products have been pulled butremaining products still need to be gathered. The pull list may beorganized by category of product or by product, and by cases of productor units of product. The “truck value” increases as more and moreproduct is loaded, keeping costs and value at the forefront of thedriver's attention. After loading, the user is prompted in FIG. 4 with“I accept, go make visits” to ensure the driver is accountable for whatis or is not in his or her truck.

Block 204 concerns the actual visit to machines beginning with thedriver consulting the application for the next machine to visit. Thislist is the product of not only the predictive processing that tookplace at the start of the day but also by factoring in any real-timetelemetry that may have been impactful to the daily priorities (e.g., ifthe fourth slotted machine has experience higher than projected morningsales the restock value for the item that is selling well may beincreased by drawing from a safety stock on the truck or from inventorydestined for the 15^(th) machine on the list). In any case, the driverfollows the direction of the application in proceeding to the nextmachine to visit. This series of actions is described later in blocks300-304 (FIG. 3) and these represent a core aspect of an embodiment: theremoval of all or a significant amount of subjectivity from the dailyoperations of vending route staff. Instead, the embodiment provides fullor significant determinism of tasks, priorities, and results.

FIG. 5 shows the driver is in “go” status for the first slotted machine.The use of the ribbons indicates these machines will likely only requirea single visit. For example, if the first slotted machine is on the8^(th) floor of a high rise, the driver may be very interested to knowthe machine will likely need only a single visit that day. The drivermay, for example, simply need to re-stock the machine and may not needto swap out telemetry units and the like (things that might necessitatethe driver going back and forth to his or her truck).

FIG. 6 shows the work order for the driver once the driver arrives atthe site. He can quickly see any notes to observe (e.g., a passcode to agated entry). He also sees a picture of the machine he will visit. FIG.7 shows the inventory he should bring to the machine.

FIG. 8 shows the entire process for the driver, including “DEX”,“money”, PoG, “restock” and “finish.” FIG. 8 is instructing the driverto download the DEX file from the machine. FIG. 9 shows the estimatedmoney to be collected, the bag the money should go in, and the like.FIG. 10 shows the PoG is to be edited based on the accepted StS change(see FIG. 2). FIG. 11 shows the starting PoG, FIGS. 12-13 show how thePoG can be edited to change prices or “columns” assigned to a product,and FIG. 14 shows how the driver must indicate when the PoG change iscomplete. FIGS. 15-16 show how, after PoG editing, the actual restockingoccurs.

At the end of the day/route (block 205 and FIG. 18), all machines thathave been selected for visit have been processed and the driver returnsto the warehouse. At this point, the smartphone application 102 and theonline application 100 have been constantly updated through the day andthe central warehouse manager is presented with an accurate list of allresidual inventory remaining on the truck in the form of unused newproduct or returned stale product. The driver interacts with thesmartphone application as this remaining inventory is processed backinto the central warehouse. This provides accurate and auditableaccounting of assets in and out for that truck and driver.

Another required task at the end of the day is delivery of the salesreceipts collected from the vending machines over the course of the day(block 206). As above, the smartphone application and the centralapplication have been in periodic communication over the course of theday and an accurate expected collections total has been calculated. Theroute driver interacts with the operations back office personnel todeliver the funds and validate that the funds collected match theexpected collections.

FIG. 19 prompts the driver regarding unloading the truck and FIG. 20shows how the unloading the truck is monitored to prevent product theft.The “stales” indicate that if a product was removed from a machine forstaleness that product should be returned to the warehouse. FIGS. 21-22may allow for auditing of any inventory left on the truck. FIG. 23continues the quest for honesty and accountability by asking the driverto confirm the entered information is correct.

The following series of steps (which pertain to FIG. 26) occurrepeatedly through the day as the driver visits the location of one ormore machines. Note that it is common for a vending operator to haveseveral machines at a given physical location. The prediction logic ofthe central application lists only the machines at such a location thatare profitable to visit that day. This removes a significantinefficiency that is common in conventional practices. Prior toembodiments described herein, drivers often visited a machine because itwas nearby and not based upon its profitability factor. An embodimentremoves that inefficiency by listing only the most profitable visits andby marshalling driver behavior to follow that list deterministically.

In addition, the smartphone application 102 interacts with the centralserver application 100 to provide driving directions, specialinstructions, passcode credentials, or other information that assiststhe driver in locating and arriving at the machine.

Once arriving at a machine to be visited the following occurs. Basedupon historical telemetry as well as predictive logic, the centralprocess application makes a prediction of what existing inventoryremaining in the machine may be stale or otherwise past some expirationdate (block 300). This list of products is presented to the driver as awork order to be completed and processed.

Based upon block 300, as well interaction with the central application,the smartphone application generates and displays a list of truckinventory that is required to stock the machine(s) to full restockcapacity (block 301). This operation is made as efficient as possible byusing predictive logic (e.g., FIG. 27) and the trips from truck tomachine are minimized by this online logic.

Based on block 301, inventory is loaded onto a cart or other conveyanceand the driver opens the machine and transfers inventory into themachine to a full-restock level (block 302). Note that the smartphoneapplication 102 interacts directly with the telemetry device 101 througha wireless proximity-based communications protocol (e.g., Bluetooth®proximity). This enables the restock operation to be recorded online100, validated, and tracked as the day progresses.

A regular task of a route driver is to collect the sales receipts in theform of actual cash or in the form of cashless records (block 303). Thesmartphone app interacts with the central application to make aprediction of expected values for each of these. The collections arethen verified by the route driver and the results are forwarded to thecentral system in real-time. Through this mechanism, an embodimentprovides auditable accounting and financial information as the dayprogresses. This promotes accountability and honesty of the fieldoperators and is unique to this invention.

Once the previous tasks have been accomplished, any required maintenancetasks for the machine being visited are presented to the driver as aseries of work order tickets (block 304). These may include simple taskssuch as cleaning machine components. However, an embodiment provides forcomplete automation of complex tasks such as price change or productselection change. Since the embodiment provides a wireless connectionbetween the smartphone application and the vending machine controller,the machine may be reconfigured and/or reprogrammed automatically.

Each step of processing these work orders (blocks 300-304) is validatedand confirmed by the application 102 and/or 100 such that there islittle to no subjectivity or human error. The embodiment allows forcentral automation of these complex configurations for the machines 104allowing for more rapid deployment along with the reduction ofdependency on highly trained technical personnel. In addition, block 304allows for improved brand management by allowing for dynamic productplacement and space to sales ratios (see, e.g., dynamic adjustment ofPoG at FIG. 14) to be set from the central back office application logic100 and policy. Thus, such an embodiment provides for flexibility anddynamism that does not currently exist.

As is evident from the description above, embodiments provide a newlevel of control and validation of vending field operations. Embodimentsalso enable new business and operations models for the vending operatoras follows.

First, through the use of real-time validation and verification, avariable compensation plan is enabled where accuracy and adherence topolicy is deterministically rewarded. For example, a driver properlyemploying the protocols of FIGS. 27, 28 may increase profits and his orher compensation.

Second, through the use of “gamification”, a competitive environment canbe created where the driver sees progress measured against a virtualteam and strives to succeed. Third, an embodiment provides measuredperformance metrics for evaluation and development of field personnel.For example, in FIG. 18 the driver can see his recent performance. Someembodiments contrast this with overlaid information regarding topperforming drivers, average rated drivers, and the like.

Fourth, through full integration with back-office systems, “just intime” inventory systems are enabled. Fifth, by marshaling the fieldoperations into a “profits first” mode of operation, maximum revenuesare possible against minimal expense. Sixth, an embodiment provides anew product marketing mechanism by making product placement andavailability a dynamic feature.

Embodiments herein at times discuss smartphones, servers, and telemetrydevices. These are all examples of computing nodes. Each such computingnode may utilize a system such as the system of FIGS. 29, 30, discussedbelow. In fact, embodiments may be used in many different types ofsystems. For example, in one embodiment a communication device can bearranged to perform the various methods and techniques described herein.Of course, the scope of the present invention is not limited to acommunication device, and instead other embodiments can be directed toother types of apparatus for processing instructions.

Referring now to FIG. 29, shown is a block diagram of an example systemwith which embodiments can be used. As seen, system 900 may be asmartphone or other wireless communicator or any other IoT device. Abaseband processor 905 is configured to perform various signalprocessing with regard to communication signals to be transmitted fromor received by the system. In turn, baseband processor 905 is coupled toan application processor 910, which may be a main CPU of the system toexecute an OS and other system software, in addition to userapplications such as many well-known social media and multimedia apps.Application processor 910 may further be configured to perform a varietyof other computing operations for the device.

In turn, application processor 910 can couple to a userinterface/display 920, e.g., a touch screen display. In addition,application processor 910 may couple to a memory system including anon-volatile memory, namely a flash memory 930 and a system memory,namely a DRAM 935. In some embodiments, flash memory 930 may include asecure portion 932 in which secrets and other sensitive information maybe stored. As further seen, application processor 910 also couples to acapture device 945 such as one or more image capture devices that canrecord video and/or still images.

A universal integrated circuit card (UICC) 940 comprises a subscriberidentity module, which in some embodiments includes a secure storage 942to store secure user information. System 900 may further include asecurity processor 950 that may couple to application processor 910. Aplurality of sensors 925, including one or more multi-axisaccelerometers may couple to application processor 910 to enable inputof a variety of sensed information such as motion and otherenvironmental information. In addition, one or more authenticationdevices 995 may be used to receive, e.g., user biometric input for usein authentication operations.

As further illustrated, a near field communication (NFC) contactlessinterface 960 is provided that communicates in a NFC near field via anNFC antenna 965. While separate antennae are shown, understand that insome implementations one antenna or a different set of antennae may beprovided to enable various wireless functionalities.

A power management integrated circuit (PMIC) 915 couples to applicationprocessor 910 to perform platform level power management. To this end,PMIC 915 may issue power management requests to application processor910 to enter certain low power states as desired. Furthermore, based onplatform constraints, PMIC 915 may also control the power level of othercomponents of system 900.

To enable communications to be transmitted and received such as in oneor more IoT networks, various circuitries may be coupled betweenbaseband processor 905 and an antenna 990. Specifically, a radiofrequency (RF) transceiver 970 and a wireless local area network (WLAN)transceiver 975 may be present. In general, RF transceiver 970 may beused to receive and transmit wireless data and calls according to agiven wireless communication protocol such as 3G or 4G wirelesscommunication protocol such as in accordance with a code divisionmultiple access (CDMA), global system for mobile communication (GSM),long term evolution (LTE) or other protocol. In addition a GPS sensor980 may be present, with location information being provided to securityprocessor 950 for use as described herein when context information is tobe used in a pairing process. Other wireless communications such asreceipt or transmission of radio signals, e.g., AM/FM and other signalsmay also be provided. In addition, via WLAN transceiver 975, localwireless communications, such as according to a Bluetooth™ or IEEE802.11 standard can also be realized.

Referring now to FIG. 30, shown is a block diagram of a system inaccordance with another embodiment of the present invention.Multiprocessor system 1000 is a point-to-point interconnect system suchas a server system, and includes a first processor 1070 and a secondprocessor 1080 coupled via a point-to-point interconnect 1050. Each ofprocessors 1070 and 1080 may be multicore processors such as SoCs,including first and second processor cores (i.e., processor cores 1074 aand 1074 b and processor cores 1084 a and 1084 b), although potentiallymany more cores may be present in the processors. In addition,processors 1070 and 1080 each may include a secure engine 1075 and 1085to perform security operations such as attestations, IoT networkonboarding or so forth.

First processor 1070 further includes a memory controller hub (MCH) 1072and point-to-point (P-P) interfaces 1076 and 1078. Similarly, secondprocessor 1080 includes a MCH 1082 and P-P interfaces 1086 and 1088.MCH's 1072 and 1082 couple the processors to respective memories, namelya memory 1032 and a memory 1034, which may be portions of main memory(e.g., a DRAM) locally attached to the respective processors. Firstprocessor 1070 and second processor 1080 may be coupled to a chipset1090 via P-P interconnects 1052 and 1054, respectively. Chipset 1090includes P-P interfaces 1094 and 1098.

Furthermore, chipset 1090 includes an interface 1092 to couple chipset1090 with a high performance graphics engine 1038, by a P-P interconnect1039. In turn, chipset 1090 may be coupled to a first bus 1016 via aninterface 1096. Various input/output (I/O) devices 1014 may be coupledto first bus 1016, along with a bus bridge 1018 which couples first bus1016 to a second bus 1020. Various devices may be coupled to second bus1020 including, for example, a keyboard/mouse 1022, communicationdevices 1026 and a data storage unit 1028 such as a non-volatile storageor other mass storage device. As seen, data storage unit 1028 mayinclude code 1030, in one embodiment. As further seen, data storage unit1028 also includes a trusted storage 1029 to store sensitive informationto be protected. Further, an audio I/O 1024 may be coupled to second bus1020.

Program instructions may be used to cause a general-purpose orspecial-purpose processing system that is programmed with theinstructions to perform the operations described herein. Alternatively,the operations may be performed by specific hardware components thatcontain hardwired logic for performing the operations, or by anycombination of programmed computer components and custom hardwarecomponents. The methods described herein may be provided as (a) acomputer program product that may include one or more machine readablemedia having stored thereon instructions that may be used to program aprocessing system or other electronic device to perform the methods or(b) at least one storage medium having instructions stored thereon forcausing a system to perform the methods. The term “machine readablemedium” or “storage medium” used herein shall include any medium that iscapable of storing or encoding a sequence of instructions (transitorymedia, including signals, or non-transitory media) for execution by themachine and that cause the machine to perform any one of the methodsdescribed herein. The term “machine readable medium” or “storage medium”shall accordingly include, but not be limited to, memories such assolid-state memories, optical and magnetic disks, read-only memory(ROM), programmable ROM (PROM), erasable PROM (EPROM), electricallyEPROM (EEPROM), a disk drive, a floppy disk, a compact disk ROM(CD-ROM), a digital versatile disk (DVD), flash memory, amagneto-optical disk, as well as more exotic mediums such asmachine-accessible biological state preserving or signal preservingstorage. A medium may include any mechanism for storing, transmitting,or receiving information in a form readable by a machine, and the mediummay include a medium through which the program code may pass, such asantennas, optical fibers, communications interfaces, etc. Program codemay be transmitted in the form of packets, serial data, parallel data,etc., and may be used in a compressed or encrypted format. Furthermore,it is common in the art to speak of software, in one form or another(e.g., program, procedure, process, application, module, logic, and soon) as taking an action or causing a result. Such expressions are merelya shorthand way of stating that the execution of the software by aprocessing system causes the processor to perform an action or produce aresult.

As used herein a processor or controller may include control logicintended to represent any of a wide variety of control logic known inthe art and, as such, may well be implemented as a microprocessor, amicro-controller, a field-programmable gate array (FPGA), applicationspecific integrated circuit (ASIC), programmable logic device (PLD) andthe like. In some implementations, a controller in machine 104 isintended to represent content (e.g., software instructions, etc.), whichwhen executed implements the features described herein.

A module as used herein refers to any hardware, software, firmware, or acombination thereof. Often module boundaries that are illustrated asseparate commonly vary and potentially overlap. For example, a first anda second module may share hardware, software, firmware, or a combinationthereof, while potentially retaining some independent hardware,software, or firmware. In one embodiment, use of the term logic includeshardware, such as transistors, registers, or other hardware, such asprogrammable logic devices. However, in another embodiment, logic alsoincludes software or code integrated with hardware, such as firmware ormicro-code.

Example 1 includes a method executed by at least one processorcomprising: determining inventories for first and second times for afirst vending machine (VM); determining inventories for first and secondtimes for a second VM; determining inventories for first and secondtimes for a third VM; and determining a service route to visit the firstand second VMs on a specific date, and to specifically avoid visitingthe third VM on the specific date, in response to determining theinventories for the second times for the first, second, and third VMs.

For example, “determining” may include initially arriving at thedetermined result or may merely mean receiving a communication that hasthe determined result. For example, a mobile node receiving acommunication with an updated inventory is nevertheless determining thatupdated inventory. Avoiding a branch in a decision tree may constitutespecifically avoiding an action.

In example 2 the subject matter of the Example 1 can optionally includedetermining cash balances for the first, second, and third VMs; anddetermining the service route in response to determining the cashbalances for the first, second, and third VMs.

Many of examples 1-17 may be performed on node 100, node 102, or in adistributed fashion with different elements of a method executed ondifferent ones of nodes 100, 102.

In example 3 the subject matter of Examples 1-2 can optionally includedetermining first space-to-sales (StS) for the first VM; determiningfirst rate of consumption (RoC) for the first VM; and adjusting thefirst StS for the first VM to determine an adjusted first StS for thefirst VM in response to: (a) determining the first RoC, and (b)determining the inventory for the first time for the first VM.

In example 4 the subject matter of the Examples 1-3 can optionallyinclude visually displaying the adjusted StS; and visually prompting auser regarding whether the user accepts the adjusted StS.

In example 5 the subject matter of the Examples 1-4 can optionallyinclude determining the user accepts the adjusted StS; visuallyprompting the user to adjust a plan-o-gram (PoG) for the first VM inresponse to determining the user accepts the adjusted StS; andspecifically avoiding prompting the user to adjust the PoG for the firstVM in response to determining the user does not accept the adjusted StS.

In example 6 the subject matter of the Examples 1-5 can optionallyinclude visually displaying the service route; and visually prompting auser regarding whether the user accepts the service route; determining asingle quantity of a product required to restock both the first andsecond VMs in response to determining the inventories for the secondtimes for the first and second VMs and further in response todetermining the user accepts the service route; and visually displayingthe quantity of product required to restock the first and second VMs.

In example 7 the subject matter of the Examples 1-6 can optionallyinclude determining quantities of products removed from an inventory ofthe user and replaced into an inventory of the vendor; and determiningthe quantity of product required to restock the first and second VMs inresponse to determining quantities of products removed from theinventory of the user and replaced into the inventory of the vendor.

In example 8 the subject matter of the Examples 1-7 can optionallyinclude determining the first VM will exhaust total inventory for aproduct at a first exhaustion time that follows the first time for thefirst VM; determining the second VM will exhaust total inventory for aproduct at a second exhaustion time that follows the first time for thesecond VM; and determining the first exhaustion time precedes the secondexhaustion time; wherein determining the service route includesdetermining to visit the first VM before the second VM in response todetermining the first exhaustion time precedes the second exhaustiontime.

In example 9 the subject matter of the Examples 1-8 can optionallyinclude determining inventories for first and second times for a fourthVM; and determining the service route to visit the fourth VM betweenvisiting the first and second VMs; and determining locations for thefirst, second, and fourth VMs; wherein the location of the first VM iscloser to the location of the second VM than the location of the fourthVM.

In example 10 the subject matter of Examples 1-9 can optionally includewherein the first VM is located in a building and the third VM islocated in the building.

In example 11 the subject matter of the Examples 1-10 can optionallyinclude wherein the first VM is located in a building and the third VMis located in another building within 1 mile of the building.

In example 12 the subject matter of the Examples 1-11 can optionallyinclude wherein the first time is for a time occurring before executionof the service route commences and the second time is for a timeprojected to occur during the execution of the service route.

In example 13 the subject matter of the Examples 1-12 can optionallyinclude in a first step visually prompting a user to access a digitalvending record for the first VM; in a second step visually prompting theuser to withdraw financial proceeds from the first VM; in a third stepvisually prompting the user to adjust a plan-o-gram (PoG) for the firstVM; and in a fourth step visually prompting the user to restock thefirst VM; wherein the first, second, third, and fourth steps are to beperformed in a first sequence that is to be repeated when the second VMis visited.

In example 14 the subject matter of the Examples 1-13 can optionallyinclude determining the inventories for the first and second times forthe first VM before execution of the service route commences; adjustingthe inventory for the second time for the first VM after the serviceroute commences but before the first VM is restocked; determining aquantity of a product required to restock the first VM in response toadjusting the inventory; and visually displaying the quantity of productrequired to restock the first VM before the first VM is restocked.

In example 15 the subject matter of the Examples 1-14 can optionallyinclude determining first space-to-sales (StS) for the first VM;determining first rate of consumption (RoC) for the first VM;determining maximum production potential for the first VM; and adjustingthe first StS for the first VM to determine an adjusted first StS forthe first VM in response to determining: (a) the first RoC, (b) theinventory for the first time for the first VM, and (c) the maximumproduction potential.

Example 16 includes at least one machine readable medium comprising aplurality of instructions that in response to being executed on the atleast one processor, cause the at least one processor to carry out amethod according to any one of examples 1 to 15.

For example, example 1 may include at least one storage medium havinginstructions stored thereon for causing a system to determineinventories for first and second times for a first vending machine (VM);determine inventories for first and second times for a second VM;determine inventories for first and second times for a third VM; anddetermine a service route to visit the first and second VMs on aspecific date, and to specifically avoid visiting the third VM on thespecific date, in response to determining the inventories for the secondtimes for the first, second, and third VMs.

Example 17 includes a communications device arranged to carry out amethod according to any one of examples 1 to 15.

For example, example 1 may include an apparatus comprising: at least onememory and at least one processor, coupled to the at least one memory,to perform operations comprising: determining inventories for first andsecond times for a first vending machine (VM); determining inventoriesfor first and second times for a second VM; determining inventories forfirst and second times for a third VM; and determining a service routeto visit the first and second VMs on a specific date, and tospecifically avoid visiting the third VM on the specific date, inresponse to determining the inventories for the second times for thefirst, second, and third VMs.

For example, the predictive sales modeling module (which may behardware, software, or firmware) may perform the determining tasks inexample 1. Also, the StS recommendation module may perform the adjustingand determining processes in example 3.

Example 18 includes a distributed computing system comprising: a firstcomputing node including at least one first processor and at least onemachine readable medium comprising a plurality of instructions that inresponse to being executed on the at least one first processor, causethe first node to carry out a first method comprising: determininginventories for first and second times for a first vending machine (VM);determining inventories for first and second times for a second VM;determining inventories for first and second times for a third VM; anddetermining a service route to visit the first and second VMs on aspecific date, and to specifically avoid visiting the third VM on thespecific date, in response to determining the inventories for the secondtimes for the first, second, and third VMs; determining firstspace-to-sales (StS) for the first VM; determining first rate ofconsumption (RoC) for the first VM; and adjusting the first StS for thefirst VM to determine an adjusted first StS for the first VM in responseto: (a) determining the first RoC, and (b) determining the inventory forthe first time for the first VM; and a second computing node includingat least one second processor and at least one machine readable mediumcomprising a plurality of instructions that in response to beingexecuted on the at least one second processor, cause the second node tocarry out a second method comprising: visually displaying the adjustedStS; and visually prompting a user regarding whether the user acceptsthe adjusted StS.

In example 19 the subject matter of the Example 18 can optionallyinclude the second method comprising: determining the user accepts theadjusted StS; visually prompting the user to adjust a plan-o-gram (PoG)for the first VM in response to determining the user accepts theadjusted StS.

In example 20 the subject matter of the Examples 16-19 can optionallyinclude the first method comprising: determining the inventories for thefirst and second times for the first VM before execution of the serviceroute commences; adjusting the inventory for the second time for thefirst VM after the service route commences but before the first VM isrestocked; and determining a quantity of a product required to restockthe first VM in response to adjusting the inventory; the second methodcomprising visually displaying the quantity of product required torestock the first VM before the first VM is restocked.

The foregoing description of the embodiments of the invention has beenpresented for the purposes of illustration and description. It is notintended to be exhaustive or to limit the invention to the precise formsdisclosed. Persons skilled in the art will recognize various equivalentcombinations and substitutions for various components shown in theFigures. It is therefore intended that the scope of the invention belimited not by this detailed description, but rather by the claimsappended hereto.

What is claimed is:
 1. At least one non-transitory storage medium havinginstructions stored thereon for causing a system to: determineinventories for first and second times for a first vending machine (VM);determine inventories for first and second times for a second VM;determine inventories for first and second times for a third VM; anddetermine a service route to visit the first and second VMs on aspecific date, and to specifically avoid visiting the third VM on thespecific date, in response to determining the inventories for the secondtimes for the first, second, and third VMs.
 2. The at least one mediumof claim 1 comprising instructions to: determine cash balances for thefirst, second, and third VMs; and determine the service route inresponse to determining the cash balances for the first, second, andthird VMs.
 3. The at least one medium of claim 1 comprising instructionsto: determine first space-to-sales (StS) for the first VM; determinefirst rate of consumption (RoC) for the first VM; and adjust the firstStS for the first VM to determine an adjusted first StS for the first VMin response to: (a) determining the first RoC, and (b) determining theinventory for the first time for the first VM.
 4. The at least onemedium of claim 3 comprising instructions to: visually display theadjusted StS; and visually prompt a user regarding whether the useraccepts the adjusted StS.
 5. The at least one medium of claim 4comprising instructions to: determine the user accepts the adjusted StS;visually prompt the user to adjust a plan-o-gram (PoG) for the first VMin response to determining the user accepts the adjusted StS; andspecifically avoid prompting the user to adjust the PoG for the first VMin response to determining the user does not accept the adjusted StS. 6.The at least one medium of claim 1 comprising instructions to: visuallydisplay the service route; and visually prompt a user regarding whetherthe user accepts the service route; determine a single quantity of aproduct required to restock both the first and second VMs in response todetermining the inventories for the second times for the first andsecond VMs and further in response to determining the user accepts theservice route; and visually display the quantity of product required torestock the first and second VMs.
 7. The at least one medium of claim 6comprising instructions to: determine quantities of products removedfrom an inventory of the user and replaced into an inventory of thevendor; and determine the quantity of product required to restock thefirst and second VMs in response to determining quantities of productsremoved from the inventory of the user and replaced into the inventoryof the vendor.
 8. The at least one medium of claim 1 comprisinginstructions to: determine the first VM will exhaust total inventory fora product at a first exhaustion time that follows the first time for thefirst VM; determine the second VM will exhaust total inventory for aproduct at a second exhaustion time that follows the first time for thesecond VM; and determine the first exhaustion time precedes the secondexhaustion time; wherein determining the service route includesdetermining to visit the first VM before the second VM in response todetermining the first exhaustion time precedes the second exhaustiontime.
 9. The at least one medium of claim 8 comprising instructions to:determine inventories for first and second times for a fourth VM; anddetermine the service route to visit the fourth VM between visiting thefirst and second VMs; and determine locations for the first, second, andfourth VMs; wherein the location of the first VM is closer to thelocation of the second VM than the location of the fourth VM.
 10. The atleast one medium of claim 9, wherein the first VM is located in abuilding and the third VM is located in the building.
 11. The at leastone medium of claim 9, wherein the first VM is located in a building andthe third VM is located in another building within 1 mile of thebuilding.
 12. The at least one medium of claim 1, wherein the first timeis for a time occurring before execution of the service route commencesand the second time is for a time projected to occur during theexecution of the service route.
 13. The at least one medium of claim 1comprising instructions to: in a first step visually prompt a user toaccess a digital vending record for the first VM; in a second stepvisually prompt the user to withdraw financial proceeds from the firstVM; in a third step visually prompt the user to adjust a plan-o-gram(PoG) for the first VM; and in a fourth step visually prompt the user torestock the first VM; wherein the first, second, third, and fourth stepsare to be performed in a first sequence that is to be repeated when thesecond VM is visited.
 14. The at least one medium of claim 1 comprisinginstructions to: determine the inventories for the first and secondtimes for the first VM before execution of the service route commences;adjust the inventory for the second time for the first VM after theservice route commences but before the first VM is restocked; determinea quantity of a product required to restock the first VM in response toadjusting the inventory; and visually display the quantity of productrequired to restock the first VM before the first VM is restocked. 15.The at least one medium of claim 1 comprising instructions to: determinefirst space-to-sales (StS) for the first VM; determine first rate ofconsumption (RoC) for the first VM; determine maximum productionpotential for the first VM; and adjust the first StS for the first VM todetermine an adjusted first StS for the first VM in response todetermining: (a) the first RoC, (b) the inventory for the first time forthe first VM, and (c) the maximum production potential.
 16. Adistributed computing system comprising: a first computing nodeincluding at least one first processor and at least one machine readablemedium comprising a plurality of instructions that in response to beingexecuted on the at least one first processor, cause the first node tocarry out a first method comprising: determining inventories for firstand second times for a first vending machine (VM); determininginventories for first and second times for a second VM; determininginventories for first and second times for a third VM; determining aservice route to visit the first and second VMs on a specific date, andto specifically avoid visiting the third VM on the specific date, inresponse to determining the inventories for the second times for thefirst, second, and third VMs; determining first space-to-sales (StS) forthe first VM; determining first rate of consumption (RoC) for the firstVM; and adjusting the first StS for the first VM to determine anadjusted first StS for the first VM in response to: (a) determining thefirst RoC, and (b) determining the inventory for the first time for thefirst VM; a second computing node including at least one secondprocessor and at least one machine readable medium comprising aplurality of instructions that in response to being executed on the atleast one second processor, cause the second node to carry out a secondmethod comprising: visually displaying the adjusted StS; and visuallyprompting a user regarding whether the user accepts the adjusted StS.17. The system of claim 16, the second method comprising: determiningthe user accepts the adjusted StS; visually prompting the user to adjusta plan-o-gram (PoG) for the first VM in response to determining the useraccepts the adjusted StS.
 18. The system of claim 16: the first methodcomprising: determining the inventories for the first and second timesfor the first VM before execution of the service route commences;adjusting the inventory for the second time for the first VM after theservice route commences but before the first VM is restocked; anddetermining a quantity of a product required to restock the first VM inresponse to adjusting the inventory; the second method comprisingvisually displaying the quantity of product required to restock thefirst VM before the first VM is restocked.